import request from './request'

/**
 * 获取商品列表
 * @param {Object} params - 查询参数
 * @param {string} params.productName - 商品名称
 * @param {string} params.productType - 商品类型
 * @param {string} params.status - 商品状态
 * @param {string} params.shopId - 店铺ID
 * @param {number} params.pageNum - 页码
 * @param {number} params.pageSize - 每页数量
 */
export const getProductList = (params) => {
  return request({
    url: '/product/list',
    method: 'get',
    params
  })
}

/**
 * 获取商品详情
 * @param {string} productId - 商品ID
 */
export const getProduct = (productId) => {
  return request({
    url: `/product/${productId}`,
    method: 'get'
  })
}

/**
 * 新增商品
 * @param {Object} data - 商品数据
 * @param {string} data.productName - 商品名称
 * @param {string} data.categoryId - 分类ID
 * @param {string} data.shopId - 店铺ID
 * @param {number} data.price - 价格
 * @param {string} data.productType - 商品类型
 * @param {string} data.status - 商品状态
 */
export const addProduct = (data) => {
  return request({
    url: '/product',
    method: 'post',
    data
  })
}

/**
 * 修改商品
 * @param {Object} data - 商品数据
 * @param {string} data.productId - 商品ID
 * @param {string} data.productName - 商品名称
 * @param {string} data.categoryId - 分类ID
 * @param {number} data.price - 价格
 * @param {string} data.status - 商品状态
 */
export const updateProduct = (data) => {
  return request({
    url: '/product',
    method: 'put',
    data
  })
}

/**
 * 删除商品
 * @param {string} productId - 商品ID
 */
export const deleteProduct = (productId) => {
  return request({
    url: `/product/${productId}`,
    method: 'delete'
  })
}

/**
 * 获取商品分类列表
 * @param {string} shopId - 店铺ID
 */
export const getCategoryList = (shopId) => {
  return request({
    url: '/product/category/list',
    method: 'get',
    params: { shopId }
  })
}

/**
 * 新增商品分类
 * @param {Object} data - 分类数据
 * @param {string} data.categoryName - 分类名称
 * @param {string} data.shopId - 店铺ID
 */
export const addCategory = (data) => {
  return request({
    url: '/product/category',
    method: 'post',
    data
  })
}

/**
 * 删除商品分类
 * @param {string} categoryId - 分类ID
 */
export const deleteCategory = (categoryId) => {
  return request({
    url: `/product/category/${categoryId}`,
    method: 'delete'
  })
}